//0x3c bytes (sizeof)
struct _MMVAD
{
union
{
LONG Balance:2; //0x0
struct _MMVAD* Parent; //0x0
} u1; //0x0
struct _MMVAD* LeftChild; //0x4
struct _MMVAD* RightChild; //0x8
ULONG StartingVpn; //0xc
ULONG EndingVpn; //0x10
union
{
ULONG LongFlags; //0x14
struct _MMVAD_FLAGS VadFlags; //0x14
} u; //0x14
struct _EX_PUSH_LOCK PushLock; //0x18
union
{
ULONG LongFlags3; //0x1c
struct _MMVAD_FLAGS3 VadFlags3; //0x1c
} u5; //0x1c
union
{
ULONG LongFlags2; //0x20
struct _MMVAD_FLAGS2 VadFlags2; //0x20
} u2; //0x20
union
{
struct _SUBSECTION* Subsection; //0x24
struct _MSUBSECTION* MappedSubsection; //0x24
};
struct _MMPTE* FirstPrototypePte; //0x28
struct _MMPTE* LastContiguousPte; //0x2c
struct _LIST_ENTRY ViewLinks; //0x30
struct _EPROCESS* VadsProcess; //0x38
};